Electronic devices, for example, personal computers, personal digital assistants (PDAs), laptop computers, tablet computers, palm top computers, wireless communication devices and other suitable devices and combinations thereof typically include an operating system (OS) in a corresponding memory of the device. The operating system is used, for example, to control the operation of the corresponding electronic device and direct the processing of programs (e.g. application programs), for example, by assigning storage space in memory and controlling input and output functions among several functions.
Typically, an electronic device will have a single OS stored in memory. However, in some devices, multiple (e.g. two or more) operating systems may be resident in a single memory component or multiple memory components of the device. In those devices or systems where the memory is distributed across a network, the multiple operating systems may be resident on one or more distributed memory locations. One purpose for including two or more OS in a single device is to provide for continuity of operation in case of a catastrophic event (e.g. shut down) to the operating system that is active (e.g. controlling the electronic device). Another purpose is to provide support for applications or other programs that may not have been written to run under a particular OS.
Currently, when it is necessary or otherwise desirable to switch device control from the active OS to the second or otherwise non-active OS, or from a first OS to a second OS and back to the first OS, the device must be restarted and the basic input/output system (BIOS) Power On Self Test (POST) code must be re-executed before the subsequent OS is started. Executing POST is required to ensure that the electronic device is in a known (e.g. PC compatible) state before the alternate or next OS starts to load.
A drawback associated with conventional device operation is that switching from one OS to another OS incurs the overhead time of executing POST each time an OS is started. Thus, the user may have to wait a lengthy period of time before the corresponding device can be used. Currently, attempting to switch between operating systems without executing POST may result in unpredictable device behavior, including crashing.